package com.kawa.kemanage.mapper;

import com.kawa.kemanage.entity.dto.CommentDTO;
import com.kawa.kemanage.entity.NewsComments;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface NewsCommentsMapper {
    /**
     * 获取评论列表
     */
    List<NewsComments> getCommentList(NewsComments newsComments);

    /**
     * 搜索评论
     */
    List<NewsComments> searchComments(@Param("keyword") String keyword);

    /**
     * 添加评论
     */
    int addComment(NewsComments comment);

    /**
     * 删除评论
     */
    int deleteComment(@Param("commentId") Long commentId);

    /**
     * 获取评论详情
     */
    NewsComments getCommentById(@Param("commentId") Long commentId);

    /**
     * 获取评论的回复列表
     */
    List<NewsComments> getReplies(@Param("parentCommentId") Long parentCommentId);

    /**
     * 更新评论点赞数
     */
    int updateLikeCount(@Param("commentId") Long commentId, @Param("increment") int increment);

    /**
     * 查询评论总数
     */
    List<NewsComments> commentCount();

    /**
     * 查询个人评论
    * */
    List<CommentDTO> getCommentsByAuthorId(@Param("userId") Long userId);

    List<NewsComments> getChildComments(NewsComments comment);

    boolean readCommentMessage(CommentDTO commentDTO);

    Integer getCommentNumById(Long contentId);
}
